package cn.wolfcode.luowowo.redis.redisService;

import cn.wolfcode.luowowo.vo.TravelStatisVO;

import java.util.List;

/**
 * 游记统计对象在redis中的操作接口
 */
public interface ITravelStatisVoService {


    /**
     * 游记点击数 加1
     *
     * @param id 游记的id
     * @param i  加1
     */

    /**
     * 游记评论数 +1
     *
     * @param travelId
     * @param i
     */
    void replynumIncrease(String travelId, int i);

    void viewnumIncrease(String travelId, int i);

    /**
     * 根据游记id 获取缓存中的游记统计数据vo对象
     *
     * @param id
     * @return
     */
    TravelStatisVO getTravelStatisVo(String travelId);

    /**
     * 根据游记id 存入vo對象
     *
     * @param vo
     */
    void setTravelStatisVo(TravelStatisVO vo);

    /**
     * 游记收藏或取消收藏
     *
     * @param sid
     * @param id
     * @return true:收藏  false:取消收藏
     */
//    boolean favor(String travelId, String userInfoId);

    /**
     * 对游记的 点赞操作  (顶游记)
     * @param travelId
     * @param userInfoId
     *
     * true:点赞成功  false:当天已经点过赞 即点赞失败
     */
//    boolean thumbup(String travelId, String userInfoId);

    /**
     * 根据游记id 检查vo对象是否存在
     * @param id
     * @return true:存在  false:不存在
     */
    boolean isVoExsits(String travelId);

    /**
     * 根据pattern获取所有的vo对象
     * @param pattern
     * @return
     */
    List<TravelStatisVO> listTravelVoByPattern(String pattern);

    /**
     * 根据vo中的游记id  更新vo到mongodb数据库对应的游记
     * @param vo
     */
    void updateTravelVo(TravelStatisVO vo);
}
